

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <vector>
#include <set>
#include <map>
#include <cmath>
#include <cstring>
#include <queue>
#include <stack>
#include <algorithm>
#include <windows.h>

using namespace std;

typedef long long LL;

int ret19(); // 返回单位数 1 ~ 9
int ret09(); // 返回单位数 0 ~ 9
int random(int n); // 返回一个整数 0 ~ n
int random(int a, int b); // 返回一个整数 a ~ b
LL retll(int n); // 返回一个 n 位数的整数必然是 n 位数
		 
/*
 * 构建一棵最大分支为 max_n 且总结点数为 n 的普通树
 *
 * */
void tree(vector<int> g[], int n, int max_n);



/*
 * 有向无向 direct 
 * wLow 边权的下界 // 默认不可为负
 * wHigh 边权的上界
 * n 顶点数量
 * m 边的数量
 * u[] 记录起点
 * v[] 记录终点
 * w[] 记录边权
 * 返回值：正数表示边数，负数表示错误标识
 *
 * log: 实现有向，边权的 u v w 集合
 *
 * */
int graph(int direct, int wLow, int wHigh, int n, int m, int u[], int v[], int w[]);














